package blog.spring.db.service;

import java.util.List;

import blog.core.exception.FormParamErrorException;
import blog.core.exception.NotFoundException;
import blog.spring.db.entity.ArticleInfo;
import blog.spring.db.entity.Comment;

public interface IArticleService extends IBaseService<ArticleInfo> {

	/**
	 * 文章内容的追加
	 * @param id 文章编号
	 * @param addContent 追加内容
	 * @throws FormParamErrorException
	 * @throws NotFoundException
	 */
	void addTo(int id, String addContent) throws FormParamErrorException, NotFoundException;

	/**
	 * 查找全部置顶文章
	 * @return
	 */
	List<ArticleInfo> findTopAll();

	/**
	 * 更新评论数量属性
	 * @param id 文章编号
	 */
	void updateCommentCount(int id);

	/**
	 * 查找热门文章列表(根据评论数)
	 * @param count 列表数量
	 * @return
	 */
	List<ArticleInfo> findHot(int count);

	/**
	 * 获取首页列表
	 * @param pagNum
	 * @return
	 */
	List<ArticleInfo> indexList(int pagNum);

	/**
	 * 获取文章下的评论
	 * @param id
	 * @return
	 */
	List<Comment> getComments(int id);
}
